When a new device is connected to a computer system, it requires installation of a special application on the computer to ease interaction with the new device. Some examples of such devices are MP3 players, digital cameras, and mobile phones. The installed applications associated with the devices may, for example, organize music, import photos, and so on.
Once the applications are installed and started, they generally sit active in the system tray and wait for their associated device to be connected to the computer system. As a result, the applications are running in a loop in the background, which can take up enormous amounts of system resources, such as memory and Central Processing Unit (CPU) load and time. Thus, the more devices that are connected to a computer system, the more applications consume system resources, leaving fewer resources for other important applications. Moreover, it is not necessary to have these applications running (even in the background) because the device is generally connected to the system for a short time.
Conventional solutions to the above-described problem include data synchronization applications, such as Microsoft ActiveSync, which enable a computer system to synchronize the handheld devices. Typical problems with such synchronization applications is that they proactively search for connected devices and run other processes that are known to have a negative impact on a computer's performance. Furthermore, when not in use, these synchronization applications still can consume CPU load and time.